<?php
namespace Amis\form;
class Editor extends FormItem
{
    public string $type = 'input-';

    /**
     * bat、 c、 coffeescript、 cpp、 csharp、 css、 dockerfile、 fsharp、 go、 handlebars、 html、 ini、 java、 javascript、
     * json、 less、 lua、 markdown、 msdax、 objective-c、 php、 plaintext、 postiats、 powershell、 pug、 python、 r、
     * razor、 ruby、 sb、 scss、shell、 sol、 sql、 swift、 typescript、 vb、 xml、 yaml
     * @param string $language
     * @return $this
     */
    public function language(string $language = 'javascript')
    {
        $this->language = $language;
        return $this;
    }

    /**
     * 编辑器高度，取值可以是 md、lg、xl、xxl
     * @param string $size
     * @return $this
     */
    public function size(string $size = 'md')
    {
        $this->size = $size;
        return $this;
    }

    public function allowFullscreen(bool $allowFullscreen = false)
    {
        $this->allowFullscreen = $allowFullscreen;
        return $this;
    }

    /*
     * monaco 编辑器的其它配置，比如是否显示行号等，请参考这里，不过无法设置 readOnly，只读模式需要使用 disabled: true
     * @param array $options
     * @return $this
     */
    public function options(array $options)
    {
        $this->options = $options;
        return $this;
    }
}